<?php
class Gui{
	/**
	 * Affiche un objet ou un tableau d'objets en appliquant au préalable la méthode $method à chacun d'entre eux
	 * @param mixed $values Valeur(s) à afficher
	 * @param string $method Méthode de la classe GUI ou de la classe de $value
	 */
	public static function show($values,$method='toString'){
		if(is_array($values)){
			foreach ($values as $v){
				Gui::showOne($v,$method);
			}
		}else
			Gui::showOne($values,$method);
	}

	/**
	 * Affiche un objet $value en lui ayant au préalable appliqué la méthode $method
	 * @param Object $value
	 * @param string $method Méthode de la classe GUI ou de la classe de $value
	 */
	public static function showOne($value,$method='toString'){
		echo Gui::getOne($value,$method);
	}

	public static function getOne($value,$method='toString'){
		if(method_exists("GUI", $method)){
			$value=GUI::$method($value);
				
		}else{
			if(method_exists($value, $method)){
				$value=$value->$method();
			}else{
				$value=$value.'';
			}
		}
		return $value;
	}


	
	public static function gestionPlantes($value){
		$retour="";
		
		$retour.="<tr>";
			$retour.="<td class='tdLeft'>";
				$retour.="<input title='Sélectionner' type='checkbox' name='gPlantes' value='ck".$value->getId()."'/>";
				$retour.="<span title='Modifier' id='modif".$value->getId()."'>".$value->getNom()."</span>";
			$retour.="</td>";
			$retour.="<td class='tdRight'>";
				$retour.="<span title='Supprimer...' class='delete' id='delete".$value->getId()."'></span>";
			$retour.="</td>";
		$retour.="</tr>";
		
		return $retour;
	}
	
	
	public static function listePlantes($value){
		$nom=$value->getNom();
		$href=str_replace(" ", "-", $nom);
		
		return "<li><a href='".base_url()."Plantes/Nom/".$href."'><span>".$nom."</span></a></li>";
	}
	
	public static function menuGroupes($value){
		$nom=$value->getNom();
		$href=str_replace(" ", "-", $nom);
		
		return "<li><a href='".base_url()."Groupes/Nom/".$href."'><span>".$nom."</span></a>";
		
		//return "<a href='Groupes/Nom/".$href."'>".$nom."</a>";
	}
	
	public static function menuEmbranchements($value){
		$nom=$value->getNom();
		$href=str_replace(" ", "-", $nom);
		
		return "<li><a href='".base_url()."Embranchements/Nom/".$href."'><span>".$nom."</span></a>";
	}
	
	public static function menuFamilles($value){
		$nom=$value->getNom();
		$href=str_replace(" ", "-", $nom);
		
		return "<li><a href='".base_url()."Familles/Nom/".$href."'><span>".$nom."</span></a>";
	}
}

?>